package com.rzl.expense.expense.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.rzl.expense.common.annotation.Excel;
import com.rzl.expense.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 电费应付月报对象 rpt_prv_ele_site_payable
 * 
 * @author expense
 * @date 2024-11-30
 */
public class RptPrvEleSitePayable extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private String payableId;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Long onYear;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Long onMonth;

    /** 未定义 */
    @Excel(name = "未定义")
    private String regId;

    /** 报账点id */
    @Excel(name = "报账点id")
    private String billaccountId;

    /** 计提天数 */
    @Excel(name = "计提天数")
    private Long accrualDay;

    /** 二级费用类型：1、移动缴电费（非铁塔公司站点） 2、移动缴电费（铁塔公司站点）3、铁塔公司缴电费（铁塔公司站点） */
    @Excel(name = "二级费用类型：1、移动缴电费", readConverterExp = "非=铁塔公司站点")
    private Long secondFeeType;

    /** 站点类型1、核心站点2、汇聚传输站点3、基站4、室分及WLAN5、家客集客6、IDC机房 */
    @Excel(name = "站点类型1、核心站点2、汇聚传输站点3、基站4、室分及WLAN5、家客集客6、IDC机房")
    private Long siteType;

    /** 供电类型--来自于数据字典 1:直供电 2:转供电 3:市电 4:太阳能
 */

    private Long supplyMethod;

    /** 是否无用电合同 */
    @Excel(name = "是否无用电合同")
    private Long isNouseEleContract;

    /** 是否包干合同 */
    @Excel(name = "是否包干合同")
    private Long isInclude;

    /** 日金额 */
    @Excel(name = "日金额")
    private BigDecimal dayOfCost;

    /** 日电量 */
    @Excel(name = "日电量")
    private BigDecimal dayOfDegree;

    /** 日报账金额 */
    @Excel(name = "日报账金额")
    private BigDecimal dayOfBudget;

    /** 合同id */
    @Excel(name = "合同id")
    private String elecontractId;

    /** 报账点关联资源是否全是基站 0是 1不是 */
    @Excel(name = "报账点关联资源是否全是基站 0是 1不是")
    private Long isBaseStation;

    /** 报账点关联基站数量 */
    @Excel(name = "报账点关联基站数量")
    private Long baseStationNum;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Long billaccountState;

    /** 计提来源 */
    @Excel(name = "计提来源")
    private String estimatedFrom;

    /** 电损电费 */
    @Excel(name = "电损电费")
    private BigDecimal lossBillAmount;

    /** 电损电量 */
    @Excel(name = "电损电量")
    private BigDecimal lossDegree;

    /** 不含电损电费 */
    @Excel(name = "不含电损电费")
    private BigDecimal outlossBillAmount;

    /** 不含电损电量 */
    @Excel(name = "不含电损电量")
    private BigDecimal outlossDegree;

    /** 缴费开始日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "缴费开始日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date billamountStartdate;

    /** 缴费结束日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "缴费结束日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date billamountEnddate;

    /** 当年累计计提金额 */
    @Excel(name = "当年累计计提金额")
    private BigDecimal addUpAmount;

    public void setPayableId(String payableId)
    {
        this.payableId = payableId;
    }

    public String getPayableId()
    {
        return payableId;
    }
    public void setOnYear(Long onYear) 
    {
        this.onYear = onYear;
    }

    public Long getOnYear() 
    {
        return onYear;
    }
    public void setOnMonth(Long onMonth) 
    {
        this.onMonth = onMonth;
    }

    public Long getOnMonth() 
    {
        return onMonth;
    }
    public void setRegId(String regId) 
    {
        this.regId = regId;
    }

    public String getRegId() 
    {
        return regId;
    }
    public void setBillaccountId(String billaccountId) 
    {
        this.billaccountId = billaccountId;
    }

    public String getBillaccountId() 
    {
        return billaccountId;
    }
    public void setAccrualDay(Long accrualDay) 
    {
        this.accrualDay = accrualDay;
    }

    public Long getAccrualDay() 
    {
        return accrualDay;
    }
    public void setSecondFeeType(Long secondFeeType) 
    {
        this.secondFeeType = secondFeeType;
    }

    public Long getSecondFeeType() 
    {
        return secondFeeType;
    }
    public void setSiteType(Long siteType) 
    {
        this.siteType = siteType;
    }

    public Long getSiteType() 
    {
        return siteType;
    }
    public void setSupplyMethod(Long supplyMethod) 
    {
        this.supplyMethod = supplyMethod;
    }

    public Long getSupplyMethod() 
    {
        return supplyMethod;
    }
    public void setIsNouseEleContract(Long isNouseEleContract) 
    {
        this.isNouseEleContract = isNouseEleContract;
    }

    public Long getIsNouseEleContract() 
    {
        return isNouseEleContract;
    }
    public void setIsInclude(Long isInclude) 
    {
        this.isInclude = isInclude;
    }

    public Long getIsInclude() 
    {
        return isInclude;
    }
    public void setDayOfCost(BigDecimal dayOfCost) 
    {
        this.dayOfCost = dayOfCost;
    }

    public BigDecimal getDayOfCost() 
    {
        return dayOfCost;
    }
    public void setDayOfDegree(BigDecimal dayOfDegree) 
    {
        this.dayOfDegree = dayOfDegree;
    }

    public BigDecimal getDayOfDegree() 
    {
        return dayOfDegree;
    }
    public void setDayOfBudget(BigDecimal dayOfBudget) 
    {
        this.dayOfBudget = dayOfBudget;
    }

    public BigDecimal getDayOfBudget() 
    {
        return dayOfBudget;
    }
    public void setElecontractId(String elecontractId) 
    {
        this.elecontractId = elecontractId;
    }

    public String getElecontractId() 
    {
        return elecontractId;
    }
    public void setIsBaseStation(Long isBaseStation) 
    {
        this.isBaseStation = isBaseStation;
    }

    public Long getIsBaseStation() 
    {
        return isBaseStation;
    }
    public void setBaseStationNum(Long baseStationNum) 
    {
        this.baseStationNum = baseStationNum;
    }

    public Long getBaseStationNum() 
    {
        return baseStationNum;
    }
    public void setBillaccountState(Long billaccountState) 
    {
        this.billaccountState = billaccountState;
    }

    public Long getBillaccountState() 
    {
        return billaccountState;
    }
    public void setEstimatedFrom(String estimatedFrom) 
    {
        this.estimatedFrom = estimatedFrom;
    }

    public String getEstimatedFrom() 
    {
        return estimatedFrom;
    }
    public void setLossBillAmount(BigDecimal lossBillAmount) 
    {
        this.lossBillAmount = lossBillAmount;
    }

    public BigDecimal getLossBillAmount() 
    {
        return lossBillAmount;
    }
    public void setLossDegree(BigDecimal lossDegree) 
    {
        this.lossDegree = lossDegree;
    }

    public BigDecimal getLossDegree() 
    {
        return lossDegree;
    }
    public void setOutlossBillAmount(BigDecimal outlossBillAmount) 
    {
        this.outlossBillAmount = outlossBillAmount;
    }

    public BigDecimal getOutlossBillAmount() 
    {
        return outlossBillAmount;
    }
    public void setOutlossDegree(BigDecimal outlossDegree) 
    {
        this.outlossDegree = outlossDegree;
    }

    public BigDecimal getOutlossDegree() 
    {
        return outlossDegree;
    }
    public void setBillamountStartdate(Date billamountStartdate) 
    {
        this.billamountStartdate = billamountStartdate;
    }

    public Date getBillamountStartdate() 
    {
        return billamountStartdate;
    }
    public void setBillamountEnddate(Date billamountEnddate) 
    {
        this.billamountEnddate = billamountEnddate;
    }

    public Date getBillamountEnddate() 
    {
        return billamountEnddate;
    }
    public void setAddUpAmount(BigDecimal addUpAmount) 
    {
        this.addUpAmount = addUpAmount;
    }

    public BigDecimal getAddUpAmount() 
    {
        return addUpAmount;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("payableId", getPayableId())
            .append("onYear", getOnYear())
            .append("onMonth", getOnMonth())
            .append("regId", getRegId())
            .append("billaccountId", getBillaccountId())
            .append("accrualDay", getAccrualDay())
            .append("secondFeeType", getSecondFeeType())
            .append("siteType", getSiteType())
            .append("supplyMethod", getSupplyMethod())
            .append("isNouseEleContract", getIsNouseEleContract())
            .append("isInclude", getIsInclude())
            .append("dayOfCost", getDayOfCost())
            .append("dayOfDegree", getDayOfDegree())
            .append("dayOfBudget", getDayOfBudget())
            .append("elecontractId", getElecontractId())
            .append("isBaseStation", getIsBaseStation())
            .append("baseStationNum", getBaseStationNum())
            .append("billaccountState", getBillaccountState())
            .append("estimatedFrom", getEstimatedFrom())
            .append("lossBillAmount", getLossBillAmount())
            .append("lossDegree", getLossDegree())
            .append("outlossBillAmount", getOutlossBillAmount())
            .append("outlossDegree", getOutlossDegree())
            .append("billamountStartdate", getBillamountStartdate())
            .append("billamountEnddate", getBillamountEnddate())
            .append("addUpAmount", getAddUpAmount())
            .toString();
    }
}
